﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
//int func(int n)
//{
//	int count = 0;
//	while (n)
//	{
//		count++;
//		n = n / 10;
//	}
//	return count-1;//这个是位数，除数要小于位数一位。
//}
//int main()
//{
//	int n = 12345;
//	int tmp = 1;
//	int count = func(n);
//	while (count > 0)
//	{
//		count--;
//		tmp *= 10;
//	}
//	while (n)
//	{
//		cout << (n / tmp) << " " ;
//		n = n % tmp;
//		tmp = tmp / 10;
//	}
//	return 0;
//}

//int main()
//{
//	/*char* p = new char[10] {'a', 'b', 'c','\0' };
//	* 
//	cout << p << endl;*/
//	enum Color//颜⾊
//	{
//
//		RED ,
//		GREEN = 2,
//		BLUE ,
//
//	};
//	enum Color clr = BLUE;
//	cout << clr << endl;
//	return 0;
////}
//#include <stdio.h>
//#include<stdbool.h>
//
//void func(int n, int* change)
//{
//    if (n > 9)
//    {
//        func(n / 10, change);
//    }
//    if (n % 10 == 7)
//    {
//        (*change)++;
//    }
//}
//int main()
//{
//    int n = 0;
//    scanf("%d", &n);
//    if (n < 7)
//    {
//        return 0;
//    }
//    int ret = 0;
//    for (int i = 7; i <= n; i++)
//    {
//        int count = 0;
//        func(i, &count);
//        if ((count != 0) || (i % 7 == 0))
//        {
//            ret++;
//        }
//    }
//    cout << ret << endl;
//    return ret;
//}

int main()
{
	long long n = 30;
	long long ret = n;
	while (n!=1)
	{
		--n;
		ret = ret * n;
	
	}
	cout << ret<< endl;
	return 0;
}